<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //iterator是一种接口机制，只要提供了iterator接口机制的数据结构都可以直接使用for...of来遍历，像array、string、arguments、set、map这些数据结构都提供了iterator接口机制。

        let arr = [1,3,9,'ok'];
        // console.log(arr);
      console.log(arr[Symbol.iterator],123);   
     let iteObj = arr[Symbol.iterator]();  //【了解】
      console.log(iteObj,'iteObj');
    console.log(iteObj.next());
    console.log(iteObj.next());
    console.log(iteObj.next());
    console.log(iteObj.next());
    console.log(iteObj.next());

    //for...of是iterator接口机制的语法糖 ：【重点】

    for(let x of arr){
       console.log(x,'x');
    }


    let obj = {x:1,y:99};
   for(let item of obj){  //对象不能直接使用for...of来遍历，因为对象没有提供iterator接口机制
    console.log(item,'item');
   }

    </script>
</head>
<body>
    
</body>
</html>